package cn.b.sky.mes.pp.dao;

import java.util.List;
import java.util.Map;

import cn.b.sky.mes.pp.model.ProcessPlanRate;
import cn.b.sky.mes.pp.model.condition.ProcessPlanRateCondition;

public interface ProcessPlanRateDao {

  /**
   * 
   * <strong>Title : selectProcessPlanRateByCondition<br></strong>
   * <strong>Description : </strong>分页获取数据，按照工作中心和作业单元来统计工序任务达成率<br> 
   * <strong>Create on : 2016-8-5 上午11:00:35<br></strong>
   * <p>
   * @param condition
   * @return
   * List<ProcessPlanRate>
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  public List<ProcessPlanRate> selectProcessPlanRateByCondition(ProcessPlanRateCondition condition);
  
  /**
   * 
   * <strong>Title : selectProcessPlanRateCountByCondition<br></strong>
   * <strong>Description : </strong>查询总数<br> 
   * <strong>Create on : 2016-8-5 上午11:00:56<br></strong>
   * <p>
   * @param condition
   * @return
   * int
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  public int selectProcessPlanRateCountByCondition(ProcessPlanRateCondition condition);
  
  /**
   * 
   * <strong>Title : selectProcessPlanRateDetailByCondition<br></strong>
   * <strong>Description : </strong>获取详情<br> 
   * <strong>Create on : 2016-8-5 下午1:28:40<br></strong>
   * <p>
   * @param condition
   * @return
   * ProcessPlanRate
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  public List<ProcessPlanRate> selectProcessPlanRateDetailByCondition(ProcessPlanRateCondition condition);
  
  /**
   * 
   * <strong>Title : selectProcessPlanRateDetailCountByCondition<br></strong>
   * <strong>Description : </strong>获取详情的总条数<br> 
   * <strong>Create on : 2016-8-9 上午11:09:13<br></strong>
   * <p>
   * @param condition
   * @return
   * int
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  public int selectProcessPlanRateDetailCountByCondition(ProcessPlanRateCondition condition);

  /**
   * 
   * <strong>Title : selectProcessPlanRateExcelByCondition<br></strong>
   * <strong>Description : </strong>获取导出excel数据<br> 
   * <strong>Create on : 2016-8-8 下午3:21:09<br></strong>
   * <p>
   * @param condition
   * @return
   * List<Map<String,Object>>
   * @throws 
   * @author lidapeng<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  public List<Map<String, Object>> selectProcessPlanRateExcelByCondition(ProcessPlanRateCondition condition);
}
